#pragma once
#include <iostream>
#include <ctime>
#include <unistd.h>
#include "level.hpp"
#include <thread>


namespace my_log
{
    class Log_Msg
    {
    public:
        time_t _time;
        std::string _filename;
        size_t _line;
        std::thread::id _tid; 
        std::string _logger_name;
        my_log::LogLevel::level _logger_level;
        std::string _payload;

    public:
        Log_Msg(const std::string &filename, 
            const int &line,
            const std::string &logger_name, 
            const my_log::LogLevel::level &level, 
            const std::string &msg)
            :_time(time(nullptr)), _filename(__FILE__), _line(__LINE__),
            _tid(std::this_thread::get_id()), _logger_name(logger_name), 
            _logger_level(level), _payload(msg)
        {

        }


    };




}